Basics of GeoData
In this short demo we cover the most basic symbols to work with geographical data
GeoGraphics
The central piece for visualizing the geo data
Download original notebookGeoGraphics[GeoMarker[Here], GeoRange -> Quantity[0.5, "Miles"]]
(*VB[*)(FrontEndRef["0cdb94a7-2d59-48c5-badb-ad01903248e7"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKGySnJFmaJJrrGqWYWuqaWCSb6iYlpiTpJqYYGFoaGBuZWKSaAwCMihXO"*)(*]VB*)
where our locations is returned by Here
Here
GeoPosition[{48.36`,10.99`}]
Draw a polygon showing Italy
Entity["Country", "Italy"]
(*VB[*)(Entity["Country", "Italy"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75pXklRZXBrEC2Z0liTiUAdDwSUA=="*)(*]VB*)
GeoGraphics[{EdgeForm[Black], Red, Polygon[(*VB[*)(Entity["Country", "Italy"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75pXklRZXBrEC2Z0liTiUAdDwSUA=="*)(*]VB*)]}]
(*VB[*)(FrontEndRef["61a5e9f4-51d8-46df-a254-aa9936f90f11"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxkmmqZappnomhqmWOiamKWk6SYamZroJiZaWhqbpVkapBkaAgCDeBV+"*)(*]VB*)
Distances and paths
To find the distance
GeoDistance[(*VB[*)(Entity["Country", "Italy"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75pXklRZXBrEC2Z0liTiUAdDwSUA=="*)(*]VB*), Here]
(*VB[*)(Quantity[154.08931808171772, "Kilometers"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8K5gCKBJYm5pVkllQWZf6dvvG2U7JDMBdQ1DszJz83tSS1qBgAAyAW5w=="*)(*]VB*)
Find the nearest entity
GeoNearest["Country", Here]
{(*VB[*)(Entity["Country", "Germany"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75pXklRRC2e2pRbmJeJQCZ8BMi"*)(*]VB*)}
Shortest path between two locations on a map
GeoGraphics[GeoPath[{(*VB[*)(Entity["Country", "Italy"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75pXklRZXBrEC2Z0liTiUAdDwSUA=="*)(*]VB*), (*VB[*)(Entity["Country", "Germany"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75pXklRRC2e2pRbmJeJQCZ8BMi"*)(*]VB*)}], Frame -> True]
(*VB[*)(FrontEndRef["c00d8f90-cd5c-4561-94bb-7a80b980a1d6"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJxsYpFikWRroJqeYJuuamJoZ6lqaJCXpmidaGCRZWhgkGqaYAQCGVBWg"*)(*]VB*)
Using exact coordinates
GeoGraphics[{Red, GeoPath[{{-35, -55}, {70, 100}}]}, GeoRange -> "World", Frame -> True]
(*VB[*)(FrontEndRef["767a1c73-7ddd-4e0c-a84f-201e63857b23"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm5uZJxommxvrmqekpOiapBok6yZamKTpGhkYppoZW5iaJxkZAwCFWRV0"*)(*]VB*)
Highlight a few nearest cities
GeoListPlot[GeoNearest["City", Here, 10]]
(*VB[*)(FrontEndRef["9ed905ba-1af3-4ec0-8225-9d6dd947687c"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW6amWBqYJiXqGiamGeuapCYb6FoYGZnqWqaYpaRYmpibWZgnAwCKYxW1"*)(*]VB*)
Elevation maps
GeoPosition[(*VB[*)(Entity["Mountain", "MountEverest"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBnMAmb75pXkliZl5wbwwjoJrWWpRanEJACqbFb4="*)(*]VB*)]; GeoElevationData[%]
(*VB[*)(Quantity[8726., "Meters"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8K5gCKBJYm5pVkllQWMYAA90GHYDYg7ZtaklpUDABwRBHS"*)(*]VB*)
Get a height map
data = GeoElevationData[(*VB[*)(Entity["Mountain", "MountEverest"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBnMAmb75pXkliZl5wbwwjoJrWWpRanEJACqbFb4="*)(*]VB*), GeoRange -> (*VB[*)(Quantity[4, "Kilometers"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8K5gCKBJYm5pVkllRmghQHcwEJ78yc/NzUktSiYgBx2RJ0"*)(*]VB*), GeoProjection -> Automatic]
(*VB[*)BoxForm`temporalStorage$239469(*,*)(*"1:eJxdkcmOm0AARJ1NivIVyZxsHInVQ4g0B2PwRnsw4GYbzaGBNmDANjSY5Yfym7FzzKVUVapTvR/BxTx+Go1G5Ntd1CitL5Wd4tb682E0Mhp0rtO6n1cV6t/GlC2/UZPvY+onNRlTT+xvvO3zDLKgU+ZGUh9vSnuQ06m8bU0BcKIJHG7aiJ4mwOJsEy4bMrgIrC0oxUriSQJt0F7xOg1ug6LcDrtZaR8ByzhJpiRL3qkYTS47gcDtth2iUIiNzvYan6n5wzXy4T7Wq2n5fMKXrHf5HWsKqW/XoMgaCND6Cp47VIazQ9WoorKAkpTVYH7iEpV2jNA8C1ZXK+rcoFe9Y7ZkU3gLTl+z9IonJn2qUpY5tQCX8X7no42C/OE1lfTE66bmjlvZUeYoxGTV1i0qTW7UfWgqejiNodGWtWi4B6bwcGNpySZzfVbCfTJzuTWU4TLYRFVuiTzc34ZbGBV6RvZ0O7sGzAJky4V0jX/J0ckntSSvmFdaS7DrdcghccDIAA3CjNdCn07jl5enB4N3W6Ym78ePD36f72I2Oba+PgxGkX7O+3/t/QT83+YB28I5DmsU5Jh8ucclygn+C+hro2I="*)(*]VB*)
Compute the minimum and maximum values in that region:
MinMax[data]
{(*VB[*)(Quantity[5501.720703125, "Meters"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8K5gCKBJYm5pVkllQWAdkNO2q3OgSzAVm+qSWpRcUAiKwTcA=="*)(*]VB*),(*VB[*)(Quantity[8744.5732421875, "Meters"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8K5gCKBJYm5pVkllQWAdkJniIHHYLZgCzf1JLUomIAewkShA=="*)(*]VB*)}
Plot it in 3D
ListPlot3D[Reverse[data][[;;;;2]], MeshFunctions -> {#3 &}, Mesh -> 30, ImageSize -> Medium]
(*VB[*)(FrontEndRef["3ca2087e-0cc5-42d3-be16-230b0a6847b5"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKGycnGhlYmKfqGiQnm+qaGKUY6yalGprpGhkbJBkkmlmYmCeZAgCCvRVe"*)(*]VB*)